1. Field of the Invention
Scan architectures are commonly used to test digital circuitry in integrated circuits. The present invention describes a method of adapting conventional scan architectures into a low power scan architecture. The low power scan architecture maintains the test time of conventional scan architectures, while requiring significantly less operational power than conventional scan architectures. The low power scan architecture is advantageous to IC/die manufacturers since it allows a larger number of circuits (such as DSP or CPU core circuits) embedded in an IC/die to be tested in parallel without consuming too much power within the IC/die. Since the low power scan architecture reduces test power consumption, it is possible to simultaneously test more die on a wafer than previously possible using conventional scan architectures. This allows wafer test times to be reduced which reduces the manufacturing cost of each die on the wafer.
2. Description of the Related Art
FIG. 1 illustrates a conventional scan architecture that a circuit 100 can be configured into during test. In the normal functional configuration, circuit 100 may be a functional circuit within IC, but in test configuration it appears as shown in FIG. 1. Scan architectures can be applied at various circuit levels. For example, the scan architecture of FIG. 1 may represent the testing of a complete IC, or it may represent the testing of an embedded intellectual property core sub-circuit within an IC, such as a DSP or CPU core sub-circuit. The scan architecture includes a scan path circuit 104, logic circuitry to be tested 108, and connection paths 112-120 to a tester 110. Tester 110 operates to: (1) output control to operate scan path 104 via control path 114; (2) output serial test stimulus patterns to scan path 104 via scan input path 118; (3) input serial test response patterns from scan path 104 via scan output path 120; (4) output parallel test stimulus patterns to logic 108 via primary input path 112; and (5) input parallel test response patterns from logic 108 via primary output path 116. Scan path 104 operates, in addition to its scan input and scan output modes to tester 110, to output parallel test stimulus patterns to logic 108 via path 122, and input parallel response patterns from logic 108 via path 124.
Typically tester 110 is interfaced to the scan architecture by probing the die pads at wafer level, or by contacting package pins after the die is assembled into a package. While tester 110 connections to the primary inputs 112 and primary outputs 116 of logic 108 are shown, the primary input and output connections could be achieved by augmentation of scan path 104. For example, scan path 104 could be lengthened to include boundary scan cells located on each primary input and primary output of logic 108. The boundary scan cells would provide primary inputs to and primary outputs from logic 108, via widened stimulus and response busses 122 and 124, respectively. In some instances, logic 108 may be sufficiently tested by scan path 104 such that it is not necessary to provide primary inputs to and outputs from logic 108 via the tester or via the above described augmentation of scan path 104. For example, if the amount of logic 108 circuitry made testable by the use of scan path 104 in combination with the primary inputs and outputs is very small compared to the amount of logic 108 circuitry made testable by the scan path 104 alone, then the primary input and output connections to logic 108 may removed without significantly effecting the test of logic circuitry 108. To simplify the description of the prior art and following description of the present invention, it will be assumed that logic circuit 108 is sufficiently tested using only scan path 104, i.e. the primary inputs 112 and primary outputs 116 are not required. However, it is clear that primary input and output connections to the tester or to an augmented scan path 104, as described above, could be used as well.
FIG. 2 illustrates an example of a conventional scan cell that could be used in scan path 104. (Note: The optional-scan cell multiplexer 218 and connection paths 220 and 224, shown in dotted line, will not be discussed at this time, but will be discussed later in regard to FIG. 7.) The scan cell consists of a D-FF 204 and a multiplexer 202. During normal configuration of the circuit 100, multiplexer 202 and D-FF 204 receive control inputs SCANENA 210 and SCANCK 212 to input functional data from logic 108 via path 206 and output functional data via path 216. In the normal configuration, the SCANCK to D-FF 204 is typically a functional clock, and the SCANENA signal is set such that the D-FF always clocks in functional data from logic 108 via path 206. During the test configuration of FIG. 2, multiplexer 202 and D-FF 204 receive control inputs SCANENA 210 and SCANCK 212 to capture test response data from logic 108 via path 206, shift data from scan input path 208 to scan output path 214, and apply test stimulus data to logic 108 via path 216. In the test configuration, the SCANCK to D-FF 204 is the test clock and the SCANENA signal is operated to allow capturing of response data from logic 108 and shifting of data from scan input 208 to scan output 214. During test configuration, SCANENA is controlled by tester 110 via path 114. SCANCK may also be controlled by the tester, or it may be controlled by another source, for example a functional clock source. For the purpose of simplifying the operational description, it will be assumed that the SCANCK is controlled by the tester.
The scan inputs 208 and scan outputs 214 of multiple scan cells are connected to form the serial scan path 104. The stimulus path 216 and response path 206 of multiple scan cells in scan path 104 form the stimulus bussing path 122 and response bussing path 124, respectively, between scan path 104 and logic 108. From this scan cell description, it is seen that the D-FF is shared between being used in the normal functional configuration and the test configuration. During scan operations through scan path 104, the stimulus outputs 216 from each scan cell ripple, since the stimulus 216 path is connected to the scan output path 214. This ripple causes all the inputs to logic 108 to actively change state during scan operations. Rippling the inputs to logic 108 causes power to be consumed by the interconnect and gating capacitance in logic 108.
FIG. 3 illustrates a simplified example of how tester 110 operates, in states 300, the scan architecture during test. Initially the tester will output control on path 114 to place the scan architecture in an idle state 302. Next, the tester outputs control on path 114 to place the scan architecture in an operate scan path state 304. In the operate scan path state, the tester outputs control to cause the scan path to accept stimulus data from the tester via path 118 and to output response data to the tester via path 120. The tester maintains the operate scan path state until the scan path has been filled with stimulus data and emptied of response data. From the operate scan path state, the tester outputs control on path 114 to place the scan architecture in a capture response data state 306. In the capture response data state, the tester outputs control to cause the scan path to load response data from logic 108 via path 124. From the capture response data state 306, the tester outputs control on path 114 to cause the scan architecture to re-enter the operate scan path state 302. The process of entering the operate scan path state 304 to load stimulus into the scan path and empty response from the scan path, and then passing through the capture response state 306 to load new response data from logic 108 repeats until the end of test. At the end of test the tester outputs control to cause the scan architecture to re-enter the idle state 302.
FIG. 4 illustrates a timing example of how tester 110 outputs SCANENA and SCANCK signals to scan path 104 during scan operations. In this example, a high to low transition on SCANENA, at time 406, in combination with SCANCKs occurring during time interval 402, causes stimulus data from the tester to be input to the scan path via path 118 while response data is output from the scan path to the tester via path 120. A low to high transition on SCANENA, at time 408, in combination with a SCANCK at time 404, causes response data from logic 108 to be loaded into the scan path. Time interval 402 relates to state 304 of operating the scan path, and time interval 404 relates to state 306 of capturing a response, in FIG. 3. As seen in the timing and operation diagrams of FIGS. 3 and 4, the time interval sequences 404 (i.e. state 306) and 402 (i.e. state 304) cycle a sufficient number of times during test to input all stimulus to and obtain all response from logic 108.
From the scan architecture described in regard to FIGS. 1, 2, 3, and 4 it is seen that the stimulus 122 outputs ripple the inputs to logic 108 as data shifts through the scan path 104 during scan operations. Rippling the inputs of logic 108 causes simultaneous charging and discharging of capacitances associated with the interconnects and gates of logic 108. For example, each scan cell stimulus output 216 to logic 108 charges and discharges a certain amount of capacitance within logic 108 at a frequency related to the data bits being scanned through the scan cell. While each scan cell stimulus output may only be directly input to a few gates within logic 108, each of the gates in logic 108 have outputs that fanout to inputs of other gates in logic 108, and the outputs of the other gates in logic 108 again fanout to inputs of still further gates, and so on. Thus a transition on the stimulus output of a single scan cell may initiate hundreds of transitions within logic 108 as a result of the above mentioned signal transition fanout. Each of the transitions charge or discharge a portion of the total capacitance with logic 108 and therefore contribute to power consumption within logic 108.
The individual power (Pi) consumed by the rippling of a given scan cell output 216 can be approximated by CV.sup.2 F, where C is the capacitance being charged or discharged by the scan cell output (i.e. the capacitance of the above mentioned signal transition fanout), V is the switching voltage level, and F is the switching frequency of the scan cell output. The total power (Pt) consumed by simultaneously scanning all the scan cells in scan path 104 is approximately the sum of the individual scan cell powers, i.e. Pt=Pi.sub.1+Pi.sub.2+ . . . Pi.sub.N. The total power consumed by circuit 100, when it is configured into the scan architecture of FIG. 1, can exceed the power consumed by circuit 100 when it is configured into its normal functional mode. This can be understood from the fact that, during normal functional mode of circuit 100, not all the D-FFs 204 simultaneously operate, as they do during scan operations occurring during the above described scan test operation. Further if an IC contained multiple circuits 100, the test of the IC may require testing each circuit 100 individually due to the above described test power consumption restriction. This lengthens the test time of the IC, which increases the cost to manufacture the IC.
A first known method of reducing power consumption during test operation is to insert blocking circuitry, such as a gate, into the stimulus paths 216 of each scan cell, such that during scan operations the inputs to logic 108 are blocked from the effect of the scan ripple. The problem with the first method is that it adds an undesirable delay (i.e. the blocking circuit delay) in the stimulus paths 216 between D-FFs 204 and logic 108. This delay can negatively effect the performance of circuit 100 when it is configured into its normal functional mode. A second known method is to reduce the scan clock rate, such that the ripple frequency (F) is reduced. The problem with the second method is that it increases the test time since scan operations are performed at the reduced scan clock rate.
Today, there are a number of test synthesis vendor tools that can synthesize and insert scan architectures into ICs, similar in structure to the scan architecture shown in FIG. 1. The use of such “push-button” scan insertion tools is an attractive alternative to customized scan designs since it is an automated process. As will be described, the present invention provides a method of adapting these synthesized scan architectures such that they may operate in a desired low power mode. The process of adapting scan architectures for low power operation is also easily automated.
The present invention described below provides a method of adapting synthesized scan architectures to achieve a low power mode of operation. The process of adapting scan architectures for low power operation is achieved without the aforementioned problems of, (1) having to insert blocking circuitry in the stimulus paths which adds signal delays, and (2) having to decrease the scan clock rate which increases test time. Furthermore, as will be described in more detail later, the process of adapting scan architectures for low power operation is achieved without having to modify the stimulus and response test patterns which are automatically produced by scan architecture synthesis tools.